In [1]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import plotly.express as px

from plotly import graph_objects as go
from pylab import *

sns.set_theme()
In [2]:
df = pd.read_csv("issues.csv")
df = df[df['year']==2021]

df = pd.DataFrame(df.groupby('name')['count'].sum().nlargest(10))
df.reset_index(inplace=True)
df["count"] = df["count"]//1000

display(df)
name count
0 Python 328
1 JavaScript 275
2 Java 228
3 TypeScript 190
4 Go 172
5 C++ 168
6 PHP 117
7 C# 102
8 C 90
9 Ruby 48
In [3]:
# Creación de la paleta de colores
cmap = cm.get_cmap('Pastel1', 10)
color_list = [matplotlib.colors.rgb2hex(cmap(i)[:3]) for i in range(cmap.N)]

# Creación de la figura
fig = go.Figure(go.Funnel(
    y = df["name"].to_list(),
    x = df["count"].to_list(),
    textposition = "inside",
    textinfo = "label+value",
    opacity = 0.85, marker = {"color": color_list}))

fig.update_yaxes(visible=False, showticklabels=False)
fig.show()